﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Dora.Tools.EContract.Dto
{
    /// <summary>
    /// 行程信息
    /// </summary>
    public class Itinerary
    {
        /// <summary>
        /// 出发地城市
        /// </summary>
        //public DepartureCity departureCity { get; set; }
        /// <summary>
        /// 出发日期，YYYY-MM-DD
        /// </summary>
        public string startDate { get; set; }
        /// <summary>
        /// 结束日期，YYYY-MM-DD
        /// </summary>
        public string endDate { get; set; }
        /// <summary>
        /// 行程天数
        /// </summary>
        public int days { get; set; }
        /// <summary>
        /// 过夜天数
        /// </summary>
        public int nights { get; set; }
        /// <summary>
        /// 团号
        /// </summary>
        //public string groupId { get; set; }
        /// <summary>
        /// 线路名称
        /// </summary>
        //public string routeName { get; set; }
        /// <summary>
        /// 行程单
        /// </summary>
        //public List<Routes> routes { get; set; }
    }

    /// <summary>
    /// 出发地城市信息
    /// </summary>
    public class DepartureCity
    {
        /// <summary>
        /// 出发地城市所在国家
        /// </summary>
        public string country { get; set; }
        /// <summary>
        /// 出发地城市所在省份
        /// </summary>
        public string state { get; set; }
        /// <summary>
        /// 出发地城市所在城市
        /// </summary>
        public string city { get; set; }
    }
    /// <summary>
    /// 行程单信息
    /// </summary>
    public class Routes
    {
        /// <summary>
        /// 第几天
        /// </summary>
        public int day { get; set; }
        /// <summary>
        /// 第几站
        /// </summary>
        public int stop { get; set; }
        /// <summary>
        /// 出发地
        /// </summary>
        public DepartureOrArrival departure { get; set; }
        /// <summary>
        /// 目的地
        /// </summary>
        public DepartureOrArrival arrival { get; set; } 
        /// <summary>
        /// 行程主题
        /// </summary>
        public string title { get; set; }
        /// <summary>
        /// 行程说明
        /// </summary>
        public string description { get; set; }
        /// <summary>
        /// 交通信息
        /// </summary>
        public Transport transport { get; set; }
        /// <summary>
        /// 餐饮信息
        /// </summary>
        public List<Meals> meals { get; set; }
    }
    /// <summary>
    /// 出发地/目的地 信息
    /// </summary>
    public class DepartureOrArrival
    {
        /// <summary>
        /// 国家
        /// </summary>
        public string country { get; set; }
        /// <summary>
        /// 省份
        /// </summary>
        public string state { get; set; }
        /// <summary>
        /// 城市
        /// </summary>
        public string city { get; set; }
        /// <summary>
        /// 描述
        /// </summary>
        public string description { get; set; }
    }
    /// <summary>
    /// 交通信息
    /// </summary>
    public class Transport
    {
        /// <summary>
        /// 交通方式/使用方式
        /// 允许值："包车游", "合车游", "轮船", "步行", "飞机", "火车
        /// 一日游允许值："包车游", "合车游", "轮船", "步行
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 车次/车牌号/航班号
        /// </summary>
        public string number { get; set; }
        /// <summary>
        /// 司机姓名
        /// </summary>
        public string driverName { get; set; }
        /// <summary>
        /// 是否有空调
        /// </summary>
        public bool hasAC { get; set; }
        /// <summary>
        /// 标准
        /// </summary>
        public string standard { get; set; }
    }
    /// <summary>
    /// 餐饮信息
    /// </summary>
    public class Meals
    {
        /// <summary>
        /// 交通方式/使用方式
        /// 允许值："早餐", "午餐", "晚餐"
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 餐饮地点
        /// </summary>
        public string place { get; set; }
        /// <summary>
        /// 餐饮标准
        /// </summary>
        public string standard { get; set; }
    }
}
